package com.sc.nft.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sc.nft.entity.CollectionGift;
import com.sc.nft.entity.UserInfo;
import com.sc.nft.entity.dto.CollectionIncrementalLossCalculationDTO;
import com.sc.nft.entity.dto.IncrementalLossCalculationDTO;
import com.sc.nft.entity.vo.GetGiveMetaWalleFeeVO;
import com.sc.nft.entity.vo.IncrementalLossCalculationVO;
import com.sc.nft.entity.vo.metaWalletDTO.UserGetGiveMetaWalleFeeVO;

import java.util.List;

/**
 * 藏品赠送(CollectionGift)表服务接口
 *
 * @author 王伟成
 * @since 2024-03-16 15:19:26
 */
public interface CollectionGiftService{

    /**
     * 转赠损耗计算
     * @param incrementalLossCalculationDTO
     * @param user
     * @return
     */
    List<IncrementalLossCalculationVO> incrementalLossCalculation(CollectionIncrementalLossCalculationDTO incrementalLossCalculationDTO, UserInfo user);
    /**
     * 跨链转增损耗计算
     * @param user
     * @param userAddr
     * @return
     */
    UserGetGiveMetaWalleFeeVO getGiveMetaWalleFee(UserInfo user, String userAddr, Long collectionId, List<Long> userCollectionIds) throws IllegalAccessException;


}
